package com.prd.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

/**
 * <p>
 * 客户-项目
 * </p>
 *
 * @author o1
 * @since 2023-12-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("customer_project")
public class CustomerProjectDO implements Serializable {

    private static final long serialVersionUID = 1L;

      @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 客户编号
     */
    private String customerNo;

    /**
     * 公司名称
     */
    private String companyName;

    /**
     * 联系人/客人id
     */
    private String guestNo;

    /**
     * 联系人/客人名称
     */
    private String guestName;

    /**
     * 项目id
     */
    private String projectId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 项目规模
     */
    private String projectScope;

    /**
     * 项目所在市镇
     */
    private String projectAddressTown;

    /**
     * 项目详细地址
     */
    private String projectAddress;

    /**
     * 项目预计完成时间
     */
    private Date projectPlanFinishDate;

    /**
     * 项目创建时间
     */
    private Date projectCreateDate;

    /**
     * 项目完成时间
     */
    private Date projectFinishDate;

    /**
     * 项目登记类别: A类，B类...
     */
    private Integer projectLevel;

    /**
     * 项目进度,全部0，洽谈1，成交2，失败3
     */
    private Integer projectBusStatus;

    /**
     * 状态：正常0，公共资源库1，已销户2，已隐藏3
     */
    private Integer status;

    @Override
    public int hashCode() {
        return Objects.hash(companyName + projectName) & Integer.MAX_VALUE;
    }
}
